\documentclass{scrreprt}
\usepackage{xeCJK}
\pagenumbering{gobble}
\usepackage{listings}
\usepackage{underscore}
\usepackage{graphicx}
\usepackage{float}
\usepackage[bookmarks=true]{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\hypersetup{
    bookmarks=false,    % show bookmarks bar?
    pdftitle={可行性分析及需求文档},    % title
    pdfauthor={刘洋 孙佳宁},                     % author
    pdfsubject={可行性分析及需求},                        % subject of the document
    pdfkeywords={可行性分析 需求}, % list of keywords
    colorlinks=true,       % false: boxed links; true: colored links
    linkcolor=blue,       % color of internal links
    citecolor=black,       % color of links to bibliography
    filecolor=black,        % color of file links
    urlcolor=purple,        % color of external links
    linktoc=page            % only page is linked
}%
\def\myversion{1.0 }
\date{}
%\title{%

%}
\usepackage{hyperref}
\bibliographystyle{alpha}
\begin{document}

\begin{flushright}
    \rule{16cm}{5pt}\vskip1cm
    \begin{bfseries}
        \Huge{FEASIBILITY STUDY REPORT\\\& REQUIREMENTS DOCUMENT}\\
        \vspace{1.5cm}
        for\\
        \vspace{1.5cm}
        Course Registration System\\
        \vspace{1.9cm}
        \LARGE{Version \myversion approved}\\
        \vspace{1.9cm}
        Prepared by 刘洋\quad 孙佳宁\\
        \vspace{1.9cm}
        计算机科学与技术学院23班\\
        \vspace{1.9cm}
        \today\\
    \end{bfseries}
\end{flushright}

\tableofcontents


\chapter*{Revision History}

\begin{center}
    \begin{tabular}{|c|c|c|}
        \hline
        Revision & Date & Changes\\
        \hline
        Revision1 & May 27, 2020 & \\
        \hline
    \end{tabular}
\end{center}
\cleardoublepage% ensures that the page numbering will change on a recto page
\pagenumbering{arabic}

\part{可行性分析}

\chapter{引言}
\section{编写目的}

可行性研究的目的是为了对问题进行研究，以最小的代价在最短的时间内确定问题是否可解。经过对此项目进行详细调查研究，初拟系统实现报告，对软件将要面临的问题及其解决方案进行初步设计及合理安排，明确开发风险及其所带来的经济效益。

\section{项目背景}

\begin{itemize}
    \item 开发软件名称：学生选课管理系统
    
    \item 项目任务提出者：老师
    
    \item 项目开发者：21172306张权(组长)\quad 21172313何朋蒸 \quad21172308刘洋\quad 21172310孙佳宁\quad21172324徐新楠
    
    \item 用户：学生、教师
    
    \item 实现软件单元：学校
\end{itemize}
项目与其他软件、系统的关系：本项目属于web应用程序，采用客户机/服务器原理，项目开发前端使用html、css、jinja2BootStrap、javascript，后端采用python语言flask框架实现，数据管理采用mysql数据库。
\section{定义}
\paragraph{课程}
大学提供的一门课
\paragraph{提供课程}
一个特定学期的课程的具体交付-您可以在学期中并行运行相同的课程。 包括一周的天数和提供的时间
\paragraph{课程目录}大学提供的所有课程的未删节目录
\paragraph{教员}大学提供的所有课程的未删节目录
\paragraph{教员}所有的教授都在大学教书
\paragraph{金融系统}用于处理计费信息的系统
\paragraph{年级}对特定学生进行特定课程提供的评价
\paragraph{教授}在大学任教的人
\paragraph{成绩单} 一个学生在某一学期所修所有课程的所有成绩
\paragraph{名册}所有参加特定课程的学生
\paragraph{学生}在大学里上课的人
\paragraph{时间表}学生为本学期选择的课程
\paragraph{成绩单}所有课程的成绩历史，为特定的学生发送到财务系统，这反过来又给学生账单

\section{参考资料}
见参考文献\cite{2008软件工程导论}和\cite{1991实用软件工程}

\chapter{可行性研究的前提}
\section{要求}
\begin{itemize}
    \item 项目主题：开发一个学生选课管理系统
    \item 主要功能：学生可在该系统上进行课程退补选、成绩信息查询等；教师可在该系统上进行课程注册、查看课程学生名单、录入学生成绩等；管理员可进行进行学生和教师的信息维护、管理计费系统等。
    \item 性能要求:对数据库上的数据必须进行及时正确的刷新。
    \item 输出要求：简洁，快速，实时，相关信息正确、完整、详实。
    \item 完成期限：截止至2020年6月15日
\end{itemize}
\section{目标}
系统开发实现后，可在校园内推广使用，提高学生的网上选课及信息查询的效率，降低选课误差，节省学生及教师的时间。
\section{条件}
\begin{enumerate}
    \item 假定每位学生可以为下学期选择四门课程，同时每个学生将指出两个替代选择，以防不能被分配到初级选择;
    \item 假定学生每完成一门课程的学习，将获得对应学分数。最终收费金额与新增总学分成正比关系。
\end{enumerate}
\section{决定可行性的主要因素}

\begin{enumerate}
    \item 经济可行性
    
    满足经济要求；
    \item 技术可行性
    
    项目开发前端使用html、css、jinja2、BootStrap、javascript，后端采用python语言flask框架实现，数据管理采用mysql数据库;
    
    \item 操作可行性
    
    小组成员间通过QQ、腾讯会议等远程协作方式。
    
    \item 其他:
    \paragraph{功能性}多个用户必须能够同时执行他们的工作。
    
    如果一门课程在学生制定包括课程在内的时间表时已满，则必须通知学生。
    \paragraph{可用性}桌面用户界面应符合Windows。
    
    \paragraph{业绩}
    该系统应在任何特定时间支持多达2000个同时使用中央数据库的用户，并在任何时间支持多达500个同时使用本地服务器的用户。
    系统应提供对遗留课程目录数据库的访问，延迟不超过10秒。
    （注：基于风险的原型发现，如果没有对中间层处理能力的一些创造性使用，遗留课程目录数据库就无法满足我们的性能需求）
    系统必须能在2分钟内完成80\%的所有事务..
    
    \paragraph{安全}\begin{itemize}
        
    \item 该系统必须防止学生改变他们自己以外的任何时间表，以及教授修改为其他教授指定的课程。
    \item 只有教授才能为学生输入成绩。
    \item 只允许管理员更改任何学生信息
    \end{itemize}
    
    \paragraph{设计约束}
    该系统应与现有的遗留系统，即课程目录系统集成。
    系统应提供基于Windows的桌面接口。
    
\end{enumerate}
\section{结论}
由于投资效益比较大，技术、经济、操作都有可行性，故可进行该项目的开发。

\part{需求分析}


\chapter{系统用例模型}

采用面向对象需求方法。

\begin{figure}[H]
    \centering
    \includegraphics[scale=1.2]{figures/fig0.png}
\end{figure}


\chapter{主要及扩展用例描述}

\section{关闭登记}
\paragraph{简要说明}

此用例允许书记官长关闭登记程序。 没有足够学生的课程取消。 课程必须至少有三名学生参加。 帐单系统是通知每个学生在每一个课程提供，没有取消，所以学生可以帐单的课程提供。

\paragraph{基本流程}
当书记官长要求系统关闭登记时，此用例即开始。
\begin{enumerate}
    \item 系统检查登记是否进行中.. 如果是，则向书记官长显示消息，用例终止。 如果正在进行注册，则无法进行关闭注册处理。
    \item 对于每个课程提供，系统检查是否有教授注册教授课程提供，并且至少有三名学生注册。 如果是，系统将为包含它的每个时间表提供课程。
    \item 对于每个时间表，系统“水平”时间表：如果时间表没有选择的最大初级课程数量，系统试图从时间表的候补名单中选择候补。 将选择第一个可用的替代课程。 如果没有替代者，则不会进行替代。
    \item 对于每个课程提供，系统关闭所有课程提供。 如果课程提供在这一点上没有至少三个学生（有些可能是由于平级而增加的），那么系统将取消课程提供。 系统取消每个包含它的时间表提供的课程。
    \item 该系统计算每个学生为其当前学期时间表所欠的学费，并向计费系统发送交易。 帐单系统将把帐单寄给学生，其中包括他们的最后时间表的副本。
\end{enumerate}

\paragraph{替代流程}

\begin{enumerate}
    \item 没有教授提供课程
    如果在基本流程中没有教授注册教授课程提供，系统将取消课程提供。 系统取消每个包含它的时间表提供的课程。
    
    \item 计费系统不可用
    如果系统无法与计费系统通信，系统将尝试在指定的周期后重新发送请求。 该系统将继续尝试重新发送，直到计费系统可用为止。
    
\end{enumerate}
\paragraph{特殊要求}
无。
\paragraph{各种条件}
注册官必须登录到系统才能开始此用例。
\paragraph{后条件}
如果用例成功，现在就关闭注册。 如果没有，系统状态保持不变。
\paragraph{扩展点}
无。

\section{登录}
\paragraph{简要说明}

此用例描述用户如何登录到课程注册系统。

\paragraph{基本流程}
此用例从参与者希望登录课程注册系统开始。

\begin{enumerate}
    \item 演员输入他/她的姓名和密码。
    \item 系统验证输入的名称和密码，并将参与者登录到系统中。
\end{enumerate}

\paragraph{替代流程}
\begin{enumerate}
    \item 无效名称/密码
    
    如果在基本流程中，参与者输入无效的名称和/或密码，系统将显示错误消息。 参与者可以选择返回到基本流的开头或取消登录，此时用例结束。
    
\end{enumerate}

\paragraph{特殊要求}
无。

\paragraph{各种条件}
系统处于登录状态，并显示登录屏幕。

\paragraph{后条件}
如果用例成功，则参与者现在登录到系统中。 如果不是，系统状态不变。

\paragraph{扩展点}
无。


\section{维护教授信息}
\paragraph{简要说明}
此用例允许注册官在注册系统中维护教授信息。 这包括从系统中添加、修改和删除教授。
\paragraph{基本流程}
当注册官希望在系统中添加、更改和/或删除教授信息时，此用例将开始。
\begin{enumerate}
	\item 系统要求书记官长具体说明他/她希望履行的职能（增加一名教授、更新一名教授或删除一名教授）
	
	\item 一旦书记官长提供所要求的资料，就执行其中一个子流。 如果注册官选择“添加教授”，则执行“添加教授子流”。
	
	如果注册官选择“更新教授”，则执行“更新教授子流”。 如果书记官长选择“删除教授”，则执行“删除教授子流”。
	
	\paragraph{加一个教授}系统要求书记官长输入教授信息，这包括：
	\begin{itemize}
		\item 名字
		\item 出生日期
		\item 社会保障号码
		\item 地位
		\item 部门
	\end{itemize}
	\begin{enumerate}
		\item 一旦注册官提供所要求的信息，系统就会生成并分配一个唯一的id号给教授.. 教授加入系统..
		\item 该系统向书记官长提供新的教授身份。
		
	\end{enumerate}
	\paragraph{更新一位教授}
	\begin{enumerate}
		\item 系统要求注册官输入教授id;
		\item 注册官输入教授ID。 系统检索并显示教授信息;
		\item 书记官长对教授的信息作出必要的修改。 这包括添加教授子流中指定的任何信息;
		\item 一旦注册官更新必要的信息，系统将更新教授记录。
		
	\end{enumerate}

	\paragraph{删除一位教授}
	\begin{enumerate}
		\item 系统要求注册官输入教授id；
		\item 注册官输入教授ID。 系统检索并显示教授信息；
		\item 系统提示注册官确认删除教授；
		\item 书记官长核实删除；
		\item 系统从系统中删除教授。
		
	\end{enumerate}
\end{enumerate}
\paragraph{替代流程}
\begin{enumerate}
	\item 教授没找到
	如果在“更新教授”或“删除教授子流”中，没有指定id号的教授，则系统将显示错误消息。 然后，注册官可以输入不同的id号或取消操作，此时用例结束。
	
	\item 删除已取消
	如果在删除教授子流中，注册官决定不删除教授，则取消删除，并在开始时重新启动基本流。
	
\end{enumerate}
\paragraph{特殊要求}
无。

\paragraph{各种条件}
在此用例开始之前，注册官必须登录到系统。

\paragraph{后条件}
如果用例成功，则从系统中添加、更新或删除教授信息。 否则系统状态不变..

\paragraph{扩展点}
无。

\section{维护学生信息}

\paragraph{简要说明}
此用例允许注册官在注册系统中维护学生信息。 这包括从系统中添加、修改和删除学生。
\paragraph{基本流程}
当注册官希望在系统中添加、更改和/或删除学生信息时，此用例将开始。
\begin{enumerate}
	\item 系统要求注册官指定他/她希望执行的功能（添加学生、更新学生或删除学生）
	\item 一旦书记官长提供所要求的资料，就执行其中一个子流。 如果注册人员选择“添加学生”，则执行“添加学生子流”。
	如果注册人员选择“更新学生”，则执行“更新学生子流”。 如果注册人员选择“删除学生”，则执行“删除学生子流”。
	
	\paragraph{加一个学生}
	\begin{enumerate}
		\item 系统要求注册官输入学生信息，这包括
		\begin{itemize}
			\item 名字
			\item 出生日期
			\item 社会保障号码
			\item 地位
			\item 毕业日期
		\end{itemize}
		\item 一旦注册官提供所要求的信息，系统将生成并分配一个唯一的id号给学生。 学生加入系统；
		\item 该系统向注册官提供新的学生身份证。
	
	\end{enumerate}

	\paragraph{更新一个学生}
	\begin{enumerate}
		\item 系统要求注册官输入学生id；
		\item 注册官输入学生身份证。 系统检索并显示学生信息；
		\item 注册官对学生信息进行所需的更改。 这包括添加学生子流中指定的任何信息；
		\item 一旦注册官更新必要的信息，系统将更新学生信息。
	\end{enumerate}

	\paragraph{删除一个学生}
	\begin{enumerate}
		\item 系统要求注册官输入学生id；
		\item 注册官输入学生身份证。 系统检索并显示学生信息；
		\item 系统提示注册官确认删除该学生；
		\item 书记官长核实删除；
		\item 系统从系统中删除学生。
		
	\end{enumerate}
\end{enumerate}
\paragraph{ 替代流程}
\begin{enumerate}
	\item 学生没找到
	如果在“更新学生”或“删除学生子流”中，不存在具有指定id号的学生，则系统将显示错误消息。 然后，注册官可以输入不同的id号或取消操作，此时用例结束。
	
	\item 删除已取消
	如果在“删除学生子流”中，注册官决定不删除该学生，则删除将被取消，并且在开始时重新启动基本流。
	
\end{enumerate}
\paragraph{特殊要求}
无。

\paragraph{各种条件}
在此用例开始之前，注册官必须登录到系统。

\paragraph{后条件}
如果用例成功，则从系统中添加、更新或删除学生信息。 否则系统状态不变..

\paragraph{扩展点}
无。

\section{注册课程}

\paragraph{简要说明}
此用例允许学生注册当前学期的课程提供。 学生也可以更新或删除课程选择，如果改变是在增加/下降期间在学期开始。 课程目录系统提供了本学期所有课程的列表。

\paragraph{基本流程}
此用例从学生希望注册课程或更改其现有课程时间表时开始。
\begin{enumerate}
	\item 学生提供要执行的函数（其中一个子流被执行）：
	如果学生选择“创建计划”，则执行“创建计划子流”。 如果学生选择“更新计划”，则执行“更新计划子流”。 如果学生选择“删除附表”，则执行“删除附表”子流。
	
	\paragraph{创建一个时间表}
	\begin{enumerate}
		\item 该系统从课程目录系统检索可用课程提供的列表，并将列表显示给学生。
		\item 选择Offerings子流程执行。
		\item 提交计划子流被执行。
		
	\end{enumerate}
	\paragraph{更新时间表}
	\begin{enumerate}
		\item 系统检索并显示学生当前的时间表（例如，当前学期的时间表）。
		\item 该系统从课程目录系统检索可用课程提供的列表，并将列表显示给学生。
		\item 学生可以通过删除和添加新的课程提供来更新当前选择的课程选择。 学生从可用课程列表中选择要添加的课程内容。 学生还选择要从现有时间表中删除的任何课程。
		\item  一旦学生进行了他/她的选择，系统将使用选定的课程提供更新学生的时间表。
		\item 提交计划子流被执行。
		
	\end{enumerate}
	\paragraph{删除附表}
	\begin{enumerate}
		\item 系统检索并显示学生当前的时间表（例如，当前学期的时间表）。
		\item 系统提示学生确认删除课表..
		\item 学生验证删除。
		\item 系统删除附表.. 如果时间表包含“注册”课程，学生必须从课程提供中删除。
		
	\end{enumerate}
	\paragraph{选择课程}
	学生从可用课程列表中选择4门初级课程和2门备用课程。一旦学生进行了选择，系统将为学生创建一个包含所选课程的时间表。
	\paragraph{提交时间表}
	对于没有标记为“注册”的时间表上的每一个选定的课程，系统验证学生是否有必要的先决条件，课程提供是开放的，并且没有时间表冲突。
	然后系统将学生添加到选定的课程提供中。 课程提供在时间表中标记为“注册”。
	计划表保存在系统中。
	
\end{enumerate}
\paragraph{替代流程}

\begin{enumerate}
	\item 保存时间表
	
	在任何时候，学生都可以选择保存一个时间表，而不是提交它。 如果发生这种情况，提交时间表步骤将被以下内容所取代：
	未标记为“注册”的课程在时间表中标记为“选定”。 计划表保存在系统中..
	未完成的先决条件，课程满，或时间表冲突
	如果在提交计划子流中，系统确定学生尚未满足必要的先决条件，或所选课程提供已满，或存在计划冲突，则显示错误消息。 学生可以选择一个不同的课程提供和用例继续，保存时间表，就像（参见保存一个调度子流程），或者取消操作，此时基本流在开始时重新启动
	
	\item 没有找到时间表
	
	如果在更新计划或删除计划子流中，系统无法检索学生的计划，则显示错误消息。 学生承认错误，基本流程在开始时重新启动
	
	\item 课程目录系统不可用
	
	如果系统无法与课程目录系统通信，系统将向学生显示错误消息。 学生确认错误消息，用例终止。
	
	
	\item 课程报名已结束
	
	当用例开始时，如果确定当前学期的注册已经关闭，则向学生显示消息，用例终止。 学生在本学期已结束注册后不能注册课程。
	
	
	\item 删除已取消
	如果在DeleteA调度子流中，学生决定不删除计划，则取消删除，并在开始时重新启动基本流。
	
\end{enumerate}
\paragraph{特殊要求}
无。

\paragraph{各种条件}
学生必须在此用例开始之前登录到系统。
后条件
如果用例成功，则创建、更新或删除学生时间表。 否则系统状态不变..

\paragraph{扩展点}
无。

\section{选择要教授的课程}
\paragraph{简要说明}
此用例允许教授从课程目录中选择他/她有资格并希望在下一学期教授的课程。

\paragraph{基本流程}
这个用例从教授希望报名为即将到来的学期教授一些课程开始。


\begin{enumerate}
	\item 该系统检索并显示教授有资格在本学期授课的课程列表。 该系统还检索和显示教授以前选择教授的课程列表。
	\item 教授选择和/或取消选择他/她希望在下学期教授的课程。
	\item 该系统使教授不再教授未选定的课程。
	\item 该系统验证所选课程不会相互冲突（即有相同的日期和时间），或教授以前注册教授的任何课程。 如果没有冲突，系统将更新为教授选择的每一个提供信息的课程（即记录教授作为课程提供的讲师）。
	
\end{enumerate}
\paragraph{替代流程}

\begin{enumerate}
	\item 没有提供课程
	
	如果在基本流程中，教授没有资格在即将到来的学期教授任何课程，系统将显示错误消息。 教授确认消息，用例结束..
	
	\item 日程冲突
	
	如果系统在试图建立教授应该学习的课程时发现日程冲突，系统将显示一条错误消息，指示发生了日程冲突。 该系统还将指出哪些是相互冲突的课程。 教授可以解决日程冲突（即取消他的选择来教授其中一门课程），也可以取消操作，在这种情况下，任何选择都将丢失，用例结束。
	
	\item 课程目录系统不可用
	
	如果系统无法与课程目录系统通信，系统将向学生显示错误消息。 学生确认错误消息，用例终止。
	
	\item 课程报名已结束
	
	当用例开始时，如果确定当前学期的注册已经关闭，则向教授显示消息，用例终止。 在本学期的课程注册结束后，教授不能更改他们所教授的课程。 如果在注册结束后需要进行教授变更，则在本系统范围之外处理。
	
\end{enumerate}
\paragraph{特殊要求}
无。

\paragraph{各种条件}
在此用例开始之前，教授必须登录到系统。

\paragraph{后条件}
如果用例成功，教授预定教授的课程已经更新。 否则系统状态不变..

\paragraph{扩展点}
无。

\section{提交成绩}
\paragraph{简要说明}
此用例允许教授提交上学期完成的一个或多个课程的学生成绩。


\paragraph{基本流程}
当教授希望提交上学期完成的一个或多个课程的学生成绩时，这个用例就开始了。

\begin{enumerate}
	\item 该系统显示了教授在上学期教授的课程列表。
	\item 教授选择一门课程。
	\item 该系统检索所有报名参加课程的学生的名单。 该系统显示每个学生和任何年级以前分配的提供。
	\item 对于名单上的每个学生，教授进入一个等级：A、B、C、D、F或I。 系统记录学生提供课程的成绩。 如果教授希望跳过某一特定学生，成绩信息可以留空，稍后填写。 教授也可以通过进入新的年级来改变学生的年级。
	
\end{enumerate}
\paragraph{替代流程}
\begin{enumerate}
	\item 没有课程提供教授
	
	如果在基本流程中，教授在上学期没有教授任何课程，系统将显示错误消息。 教授确认消息，用例结束。
\end{enumerate}

\paragraph{特殊要求}
无。

\paragraph{各种条件}
在此用例开始之前，教授必须登录到系统。

\paragraph{后条件}
如果用例成功，则更新提供课程的学生成绩。 否则系统状态不变..

\paragraph{扩展点}
无。

\section{查看报告卡}

\paragraph{简要说明}
此用例允许学生查看以前完成的学期的成绩单。

\paragraph{基本流程}
当学生希望查看他/她以前完成的学期的成绩单时，这个用例就开始了。
\begin{enumerate}
	\item 该系统检索并显示学生在上学期完成的每一门课程的成绩信息。
	\item 当学生表示他/她已经完成查看成绩时，用例将终止。
\end{enumerate}
\paragraph{替代流程}
\begin{enumerate}
	\item 没有等级信息可用
	
	如果在基本流程中，系统无法为学生查找上学期的任何年级信息，则显示一条消息。 一旦学生确认消息，用例就终止。
\end{enumerate}
\paragraph{特殊要求}
无。

\paragraph{各种条件}
学生必须在此用例开始之前登录到系统。

\paragraph{后条件}
系统状态按此用例不变..

\paragraph{扩展点}
无。

\chapter{系统词汇表}

\paragraph{定义}
词汇表包含课程注册系统中关键概念的工作定义。

\paragraph{课程}
大学提供的一门课。

\paragraph{提供课程}
一个特定学期的课程的具体交付-您可以在学期中并行运行相同的课程。 包括一周的天数和提供的时间。

\paragraph{课程目录}
大学提供的所有课程的未删节目录。

\paragraph{教员}
所有的教授都在大学教书。

\paragraph{金融系统}
用于处理计费信息的系统..

\paragraph{年级}
对特定学生进行特定课程提供的评价。

\paragraph{教授}
在大学任教的人。

\paragraph{成绩单}
一个学生在某一学期所修所有课程的所有成绩。

\paragraph{名册}
所有参加特定课程的学生。

\paragraph{学生}
在大学里上课的人。

\paragraph{时间表}
学生为本学期选择的课程。

\paragraph{成绩单}
所有课程的成绩历史，为特定的学生发送到财务系统，这反过来又给学生账单。

\chapter{各用例的顺序图}
\section{关闭登记用例}
\begin{figure}[H]
	\includegraphics[scale=0.3]{figures/fig1.png}
\end{figure}
\section{登录用例}
\begin{figure}[H]
	\includegraphics[scale=1]{figures/fig2.png}
\end{figure}
\section{维护教授信息用例}
\begin{figure}[H]
	\includegraphics[scale=0.35]{figures/fig3.png}
\end{figure}
\section{维护学生信息用例}
\begin{figure}[H]
	\includegraphics[scale=0.7]{figures/fig4.png}
\end{figure}
\section{注册课程}
\begin{figure}[H]
	\includegraphics[scale=0.28]{figures/fig5.png}
\end{figure}
\section{选择要教授的课程}
\begin{figure}[H]
	\includegraphics[scale=0.7]{figures/fig6.png}
\end{figure}
\section{提交成绩}
\begin{figure}[H]
	\includegraphics[scale=0.5]{figures/fig7.png}
\end{figure}
\section{查看报告卡}
\begin{figure}[H]
	\includegraphics[scale=0.65]{figures/fig8.png}
\end{figure}

\chapter{协作图描述}

\section{关闭登记用例}
\begin{figure}[H]
	\includegraphics[scale=0.95]{figures/fig9.png}
\end{figure}
\section{登录用例}
\begin{figure}[H]
	\includegraphics[scale=0.8]{figures/fig10.png}
\end{figure}
\section{维护教授信息用例}
\begin{figure}[H]
	\includegraphics[scale=0.85]{figures/fig11.png}
\end{figure}
\section{维护学生信息用例}
\begin{figure}[H]
	\includegraphics[scale=0.75]{figures/fig12.png}
\end{figure}
\section{注册课程}
\begin{figure}[H]
	\includegraphics[scale=0.95]{figures/fig13.png}
\end{figure}
\section{选择要教授的课程}
\begin{figure}[H]
	\includegraphics[scale=0.83]{figures/fig14.png}
\end{figure}
\section{提交成绩}
\begin{figure}[H]
	\includegraphics[scale=0.95]{figures/fig15.png}
\end{figure}
\section{查看报告卡}
\begin{figure}[H]
	\includegraphics[scale=0.8]{figures/fig16.png}
\end{figure}































\bibliography{ref}
\end{document}
